U.S. Pat. No. 5,751,326, (Bernasconi), issued to the present applicant, describes a method of color separation for a printing process wherein an image source is scanned one or more times to produce a plurality of data channels each of which provides a representation of one color separation of the image source, the data provided by each channel being restricted to represent a printable tone density range, and the channels being separated into two groups, a first providing separation data representing Cyan, Magenta, Yellow and Black (CMYK) separations, the second providing Red, Green and Blue (R′G′B′) separation data representing a saturation image.
U.S. Pat. No. 5,751,326 describes a method of scanning an image to produce CMYK data and then adjusting the datum while scanning an image again to generate a second R′G′B′ data set. This R′G′B′ color separation data was derived directly from the original image.
As described in U.S. Pat. No. 5,751,326, the CMYK printing process can only reproduce a limited tonal range, commonly referred to at the CMYK “color gamut”. Saturated Red, Green and Blue hues reproduced with Cyan, Magenta and Yellow (CMY) inks alone will often lack saturation and high ink density due to the limitations of the printable dynamic range. Halftone screening technologies can only reproduce 100 gray levels per primary color. Tone compression from the CMY ink densities also restricts the printable color gamut.
In recent years conventional drum or flatbed scanners that can color separate photographic originals, namely panchromatic emulsions, utilizing Red, Green and Blue (RGB) filters, have become virtually redundant in the graphic arts industry. Conventional drum or flatbed scanners have rapidly been replaced by digital cameras, where no panchromatic emulsion exists in the immediate creation of a color image. The data captured by a digital camera has already been digitally separated into three (3) gray scale images commonly known in the graphic arts and printing industries as a Red, Green and Blue (RGB) digital image.
A number of different color models have been developed to define color spaces, such as RGB, CIELAB (L*a*b*), L*C*h°, CMYK, etc. The International Color Consortium (ICC) has developed a specification defining “profiles” relating to the characteristics of the various groups. ICC profiles are used to describe the color attributes of a particular device or viewing requirement by defining a mapping between the source or target color space and a Profile Connection Space (PCS). This PCS can be either L*a*b* or CIE XYZ color space. Mappings may be done using tables, to which interpolation is applied, or through a series of algorithms or parameters for transformations. To convert from RGB to CMYK, the first step is to obtain the two ICC profiles concerned. To perform the conversion, each RGB triplet R, G, B is first converted to the PCS using the RGB profile. If necessary, the PCS is converted between L*a*b* and CIE XYZ, a well-defined transformation. Then the PCS is converted to the four values of C, M, Y, K required.
Every device that captures or displays color will have its own ICC profile. Some manufacturers provide profiles for their products, and there are also several software products available that enable end users to generate their own ICC profiles, typically through the use of a colorimeter or spectrodensitometer.
In CMYK process printing, each primary Cyan, Magenta and Yellow (CMY) ink absorbs Red, Green and Blue light respectively. In theory, a region having 300% (C+M+Y) ink coverage should reproduce an achromatic (Black) appearance, subject to the print density of each primary ink. In practice however, overprinting CMY alone results in a dark brown hue. The CMY density attained typically does not exceed 1.50.
This is because the combined (trapped) CMY inks fail to absorb all the complementary (RGB) light transmitted. Black (K) ink is traditionally used to overprint CMY, thereby absorbing the residual RGB light. The trapped C+M+Y+K result reproduces and denser, more neutralized Black appearance. The CMYK density attained typically exceeds 1.80.
In converting RGB data to printable CMYK data, the RGB data must first be converted to L*a*b* data, and then the L*a*b* data must be converted to CMYK data using appropriate conversion methods such as ICC profiles. Color information on the display monitor may “appear” to be lost during this color conversion procedure. The industry term used for this apparent loss of color information is called “gamut compression”. For example, digital color images must first be converted from RGB (256 gray levels per primary color) to CMYK (100 gray levels per primary color) in order to reproduce them using CMYK inks and halftone screens. This is because no known print process can print continuous shades of gray. This RGB to CMYK color conversion can also be referred to as the “halftone preparation” step.
It is important to note that even after the CMYK data had been assigned 100 gray levels per primary color (to ultimately produce a halftone separation), the actual “background” digital data residing in the CPU is still 256 gray levels per primary color (8-bit data). The physical halftone compression step to 100 gray levels per primary color has yet to occur. The CMYK data has simply been “prepared” in readiness to produce a printable halftone range for each color separation: C, M, Y and K. This final compression step is only applied when the CMYK data is processed through a software Raster Imager Processor (R.I.P.) to create a 1-bit TIFF file. A 1-bit TIFF file can only record 100 gray (halftone) levels per primary color. Therefore, every 2.56 CMYK gray levels must be assigned only one (1) output halftone value to record the dynamic range of 2.00 (log10100=2.00). The compression ratio is 2.56:1.
Attempts to find the optimum formula for conversion between RGB and CMYK values and L*a*b* often founder because RGB and CMYK are not absolute color spaces and so have no precise relation to L*a*b*. To convert between RGB and L*a*b*, for example, it is necessary to determine or assume an absolute color space for the RGB data, such as sRGB or Adobe RGB (1998). For each of these absolute spaces, there are standard techniques for converting to and from the XYZ absolute color space (see for example sRGB color space specification of the transformation) which can be combined with the following transformations to convert them to L*a*b*.
The following formulae is commonly known and used by the ICC for transforming XYZ to CIE L*a*b* (CIELAB).
The forward transformation:—L*=116f(Y/Yn)−16a*=500[f(X/Xn)−f(Y/Yn)]b*=200[f(Y/Yn)f(Z/Zn)]                where f(t)=t1/3 for t>0.008865,                    f(t)=7.787t+16/116 otherwise.                        
Here Xn, Yn and Zn are the CIE XYZ tristimulus values of the reference white point.
The division of the f(t) function into two domains was done to prevent an infinite slope at t=0. f(t) was assumed to be linear below some t=t0, and was assumed to match the t1/3 part of the function at t0 in both value and slope. In other words:t01/3=at0+b(match in value)1/(3t02/3)=a(match in slope)
The value of b was chosen to be 16/116. The above two equations can be solved for a and t0.
a=1/(3δ2)=7.787037 . . .
t0=δ3=0.008856 . . .
where δ=6/29. Note that 16/116=2δ/3.
The International Color Consortium defines the format precisely but do not define algorithms or processing details. This means there is room for variation between different applications and systems that work with ICC profiles.